unit uPerson;

interface
(* ==================================================================== *)
type
  TPerson = class(Tobject)
	              private
                	Name		: string;
                  Groesse : real;
                  Gewicht : real;
 	              public
		              procedure Init;
                  procedure SetName (n : string);
                  procedure SetGroesse (gr : real);
                  procedure SetGewicht (gw : real);

                  function GetName : string;
                  function GetGroesse : real;
                  function GetGewicht : real;
                  function HatBMI: real;

                  procedure Schlemmen;
              end;


implementation
(* ==================================================================== *)

procedure TPerson.Init;
(* ----------------------------------------- *)
begin
  Name		:= '';
  Groesse := 0;
  Gewicht := 0;
end;


procedure TPerson.SetName (n : string);
(* ----------------------------------------- *)
begin
  Name := n;
end;


procedure TPerson.SetGroesse (gr : real);
(* ----------------------------------------- *)
begin
  Groesse := gr;
end;


procedure TPerson.SetGewicht (gw : real);
(* ----------------------------------------- *)
begin
  Gewicht := gw;
end;


function TPerson.GetName : string;
(* ----------------------------------------- *)
begin
  Result := Name;
end;


function TPerson.GetGroesse: real;
(* ----------------------------------------- *)
begin
  Result := Groesse;
end;


function TPerson.GetGewicht: real;
(* ----------------------------------------- *)
begin
  Result := Gewicht;
end;


function TPerson.HatBMI: real;
(* ----------------------------------------- *)
begin
  if Groesse = 0
  then result := 0
  else   result := Gewicht / ( Groesse * Groesse);
end;

procedure TPerson.Schlemmen;
(* ----------------------------------------- *)
begin
  Gewicht := Gewicht + 5;
end;

END.
